/**
 * 获取控制器详细权限，并决定展示哪些按钮或dom元素
 */
layui.$(function () {
    let $ = layui.$;
    let userInfo = getUserInfo();
    if (userInfo === undefined) {
        return;
    }
    if (userInfo.isLogin != undefined && userInfo.isLogin === true) {
        let style = ''
        let isSupperAdmin = false;
        let level = userInfo.info.level != undefined && userInfo.info.level === 0 ? true : false;
        if (level) {
            $("head").append("<style>*[permission]{display: initial}</style>");
            isSupperAdmin = true;
        }
        if (isSupperAdmin) return;
        // 细分权限
        let codes = buttonPermission(getUserInfo().rules)
        layui.each(codes, function (k, code) {
            codes[k] = '*[permission^="' + code + '"]';
        });
        if (codes.length) {
            $("head").append("<style>" + codes.join(",") + "{display: initial}</style>");
        }
    }
});

/**
 * 按钮权限
 * @param rules
 * @param type
 * @param field
 * @returns {*[]}
 */
const buttonPermission = function (rules = [], type = 2, field = 'unique_auth') {
    let data = [];
    rules.forEach(function (v) {
        if (v[field] !== '' && v[field] !== null && v.type === type) {
            data.push(v[field]);
        }
    });
    return data;
}


/**
 * 超时没有操作退出
 * @type {number}
 */
let lastTime = new Date().getTime();
let currentTime = new Date().getTime();
let timeOut = 15 * 60 * 1000; //设置超时时间： 15分

layui.$(function(){
    /* 鼠标移动事件 */
    layui.$(document).mouseover(function(){
        lastTime = new Date().getTime(); //更新操作时间
    });
});

function toLoginPage(){
    currentTime = new Date().getTime(); //更新当前时间
    if(currentTime - lastTime > timeOut){ //判断是否超时
    	window.close();//关闭当前页
        location.href = lms_config.base_path + '/login.html';
        // window.parent.location.replace("toLogin.do");//刷新父级页面;
    }
}

/* 定时器
 * 间隔1秒检测是否长时间未操作页面
 */
window.setInterval(toLoginPage, 1000);
